import React, { Component, PureComponent } from 'react'
// 如果父组件的属性和状态发生改变，默认情况下，子组件也要重新渲染
// 如果组件继承了 PureComponent，react自身判断依赖的值有没有发生改变，如果没有发生改变，就不回重新渲染
// 类组件可以通过 PureComponent 提升性能
// 如果既有 PureComponent，但是也添加了 shouldComponentUpdate,并且返回true
// 以 shouldComponentUpdate 为主（二者同时使用会报警告信息）
class Child extends PureComponent {
  shouldComponentUpdate () {
    return true
  }
  render () {
    console.log('child')
    return (
      <div>child</div>
    )
  }
}
export default class App extends Component {
  state = {
    count: 100
  }
  render() {
    return (
      <div>
        <button onClick = { () => {
          this.setState({
            count: this.state.count
          })
        }}>改变数据</button>
        <Child />
      </div>
    )
  }
}
